package top.infopub.mgr.sys.service;


import java.util.List;

import top.infopub.generic.GenericService;
import top.infopub.mgr.sys.vo.MenuVo;
import top.infopub.model.sys.Menu;


public interface MenuService extends GenericService<Menu, String> {

    /**
     * 根据用户id查询用户权限范围内的菜单 
     * @param userId
     * @return
     */
    List<Menu> queryByUserId(String userId);
    

    /**
     * 查询用户的导航菜单，并处理成easyui Tree需要的json格式
     * @param loginUserId  用户登录id
     * @return
     * @see
     */
    List<MenuVo> queryNaviJsonByUser(String loginUserId);

    /**
     * 判断菜单名称是否存在
     * @param domain
     * @return
     */
    public boolean isExistName(Menu domain);

    /**
     * 保存菜单
     * @param menu 
     * @param id
     */
    public void save(Menu menu, String id);

    /**
     * 删除菜单
     * @param checkboxId 选中的菜单集合
     */
    public void deleteById(String checkboxId);

    /**
     * 保存菜单并删除父菜单的权限码
     * @param menu 
     * @see
     */
    void saveAndDelPur(Menu menu);

}